- Semaphor
- Se|ma|phor 〈n. 11 oder m. 1; Eisenb.; Mar.〉 Signalmast, mit verstellbaren Flügeln, im 19. Jh. weit verbreitet [<grch. sema „Zeichen“ + phoros „tragend“]
* * *
ISemaphor[zu griechisch sẽma »Zeichen« und phorós »tragend«] der, -s/-e, Schifffahrt: ein Signalmast mit mehreren beweglichen Armen, über deren Winkelstellung signalisiert werden kann.Semaphor[von griech. sema »Zeichen« und phoros »tragend«, engl. semaphore] der, eine nicht negative ganzzahlige, globale Variable, die in Verbindung mit einer Warteschlange verwendet wird, um Konflikte bei nebenläufigen Prozessen (Nebenläufigkeit) zu vermeiden. Der Semaphor kann als Flag-Variable (Flag) aufgefasst werden. Das Semaphorkonzept geht auf den niederländischen Informatiker E. W. Dijkstra zurück, der es 1968 erstmals publizierte.Ein Semaphor kann zwei Zustände einnehmen, die sich als »besetzt« und »frei« bezeichnen lassen.Fordert ein Prozess eine Ressource an (z. B. einen Drucker) oder tritt er in einen sog. kritischen Abschnitt (d. h. in einen Programmbereich, der zwar von mehreren Prozessen genutzt werden kann, aber nicht gleichzeitig, nur nacheinander) ein, so fragt er den Semaphor ab. Ist dieser frei, so weist der Prozess ihm den Wert »besetzt« zu; ist der Semaphor bereits besetzt, so wird der Prozess in eine Warteschlange verwiesen, bis der Semaphor wieder frei wird. Hat der Prozess die Ressource genutzt oder ist der kritische Abschnitt beendet, so weist er dem Semaphor den Wert »frei« zu und löst einen evtl. wartenden anderen Prozess aus der Warteschlange.* * *
Universal-Lexikon. 2012.